<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1. 字面量创建数组
        var arr = [1,2,3]
        // 2. 利用new Array() ,new Array(2)2表示数组的元素为2,有2个空数组
        var arr1 = new Array();
        var arr2 = new Array(2,3); // 等价于[2,3]

        // 3. 检测是否为数组
        // (1) instanceof 运算符
        var arr3 = [];
        var obj = {};
        console.log( arr3 instanceof Array ); //true
        console.log( obj instanceof Array ); //flase

        // (2) Array.isArray(参数)
        console.log(Array.isArray(arr3)); // true
        console.log(Array.isArray(obj)); //flase

        //4.添加和删除数组元素
        // (1) push 在数组末尾 添加一个或多个元素 
        var arr4 = [1,2,3]
        arr4.push(4) // 参数可以是一个可以是多个,参数是数组元素
        console.log(arr4); // (4) [1, 2, 3, 4]
        arr4.push(5,'pink')
        console.log(arr4); // (6) [1, 2, 3, 4, 5, "pink"]
        console.log( arr4.push('diudiu')); // 7 ,push后的返回值为数组长度

        // (2) unshift 在数组的开头 添加一个或多个数组元素
        arr4.unshift(0)
        console.log(arr4); //(8) [0, 1, 2, 3, 4, 5, "pink", "diudiu"]
        arr4.unshift(-1,-2)
        console.log(arr4); //(10) [-1, -2, 0, 1, 2, 3, 4, 5, "pink", "diudiu"]
        console.log(arr4.unshift(-3)); //11 返回值为数组长度

        // (3) pop 可以删除数组最后 一个 数组元素
        arr4.pop() // 后面不跟参数
        console.log(arr4); //(10) [-3, -1, -2, 0, 1, 2, 3, 4, 5, "pink"]
        console.log(arr4.pop()); // pink 返回值为被删除的数
        
        // (4) shift 可以删除数组的 第一个 元素
        arr4.shift() // 后面不跟参数
        console.log(arr4); // (8) [-1, -2, 0, 1, 2, 3, 4, 5]
        console.log(arr4.shift()); // -1 返回值为被删除的数

        // (5) splice(start,删除个数) 返回被删除项目的新数组,会影响原数组
        arr4.splice(0,1)
        console.log(arr4) // (6) [0, 1, 2, 3, 4, 5]
        console.log(arr4.splice(0,2)); // (2) [0, 1]

        // (6) slice(start, end) 
        arr4.slice(0,1) 
        console.log(arr4) // (4) [2, 3, 4, 5]
        console.log(arr4.slice(0,2)); // (2) [2, 3]

    </script>
</body>
</html>